Definition of True and False
A predicate expression is an expression that is evaluated as being “true” or “false” as part of a statement that controls program execution. IDL evaluates predicate expressions in the following contexts:
IF...THEN...ELSE
statements? :
inline conditional expressionsWHILE...DO
statementsREPEAT...UNTIL
statements
The definition of true and false for the different data types is as follows:
Data Type |
True |
False |
Byte, integer, and long |
Odd integers |
Zero or even integers |
Floating point and complex |
Non-zero values |
Zero |
String |
Any string with non-zero length |
Empty string ("") |
Heap variables (pointers and objects) |
Non-null values |
Null values |
List and Hash |
List or Hash has at least one member |
List or Hash is empty |
If the LOGICAL_PREDICATE compile option is set:
Data Type |
True |
False |
Numerical values |
Non-zero values |
Zero |
String or heap variables |
Non-null values |
Null values |
See COMPILE_OPT for additional details on the LOGICAL_PREDICATE compilation option.
In the following example, the logical statement for the condition is a conjunction of two conditions:
IF (LON GT -40) AND (LON LE -20) THEN ...
If both conditions (LON being larger than –40 and less than or equal to –20) are true, the statement following the THEN is executed.